Similar to
 
  let
 
 , the
 
  const
 
 keyword introduced to JavaScript in ECMAScript 2015. The
 
  const
 
 keyword follows similar features to the
 
  let
 
 but there are some differences that make
 
  const
 
 variables different from
 
  let
 
 variables. And in this tutorial, we will learn what a const keyword does in JavaScript.
JavaScript const
 const is a variable declaration keyword, that is used to declare new variables in JavaScript. The const keyword is generally used when we want to create a variable which value we want to be constant through its block scope. We are saying block scope because the
 
  const
 
 keyword declares block scope level variables.
 
  Example
 
const a=20, b=30, c=40;
OR
const a=20; const b= 30; const c= 40;
 The
 
  const
 
 variable declaration is different from other variables declarations such as
 
  var
 
 and
 
  let
 
 , because here we have to initialize the variable value during its declaration, else we receive a Syntax error.
 
  Example
 
const x; // Uncaught SyntaxError: Missing initializer in const declaration
Constant variable reassign
 Actually the
 
  const
 
 keyword does not create a constant value, it just declares a read-only reference to the value and makes sure that the variable does not get reassigned. In short, the
 
  const
 
 keyword creates a constant reference variable that points to a value. However for primitive data types like numbers, booleans, and string its looks like
 
  const
 
 has created a constant value, but when you use
 
  cosnt
 
 with non-primitive data types like array and objects there you will see that the values of non-primitive data structure can be changed.
<script> const a=20; a=40; //error </script>
As const creates a block scope variable we can declare a new const variable with the same name in different scope.
<script>
    const a=20;
    if(a==20)
    {
        const a=40; //exclusive for if scope
        console.log(a); // 40
    }
    console.log(a); // 20
</script>
Output
40 20
Constant objects and arrays
 As we know that
 
  const
 
 keyword-only create a constant variable name, which points to a value, and we can not assign the new value to an already declared constant. But when declare an array or object with
 
  cosnt
 
 keyword, we can change the values or properties of array and object. This is because the const keyword can only prevent us from reassigning a new value to the variable. But in the case of objects and arrays, we are not assigning new values to the variable, we are just changing the values of the array or object.
 
  Example 1
 
<script> const a=[1,20,30,40]; a[0] = 10 // changing array 1st element console.log(a); </script>Output
[10, 20, 30, 40]In the above example, we are not assigning a new value to the variable, instead, we assign a new value to the array object itself, to which the variable
  a
 
 is referencing or pointing.
Example 2
<script>
    const o={name:"Rahul", age:20}
    o.name = "Ravi";  //assing new name to object 
    console.log(o); 
</script>
 
  Output
 
 
{name: "Ravi", age: 20}
Difference between let and const in JS
 Initialization of
 
  let
 
 variable during declaration is not mandatory Initialization of
 
  const
 
 variable during declaration is mandatory.
<script> const x=20; //declaration and initialization let y; //declaration y=20; //initialization </script>
 The
 
  let
 
 variable can be reassigned. The
 
  const
 
 variable can not be reassigned.
<script> const x=20; let y =20; y=30; //let reassinging x=30; //error </script>
Summary
- 
  cosntkeyword is used to decalre a new constant variable for a block scope.
- We can not reassign and redeclare a constant variable.
- 
  Initialization of
  constvariable must be done during its declaration.
People are also reading:
